The invention relates to information systems, and more particularly to a system for formulating a search query using a graphical user interface that enables a user to selectively position tiles corresponding to searchable fields, where relative positions of the tiles represent logic operations between the searchable fields.
Data search and retrieval systems for searching collections of data are known. Generally, these collections are stored in one or more databases. Databases typically include records containing one or more fields. Separate databases may be connected via one or more networks. Network users may desire to obtain information related to a particular topic from one or more of the databases. A data search and retrieval system operating on, for example, a client/server architecture, may be used to search the databases or specific fields to retrieve certain information. Some existing data search and retrieval systems enable a user to search using Boolean logic. Such logic is generally known and involves using search terms, one or more logical operators, and text string delimiters to perform a search. Typically, a particular syntax must be used.
Boolean logic is a logical combinatorial system that represents relationships between entities. For example, Boolean logic may be used to represent a relationship between two or more text strings (e.g., keywords). Boolean logic uses logical operators (e.g., AND, NOT, OR) and delimiters (e.g., quotation marks, parenthesis) to represent the relationship. Text strings separated by logical operators and within particular delimiters represent different relationships. Accordingly, a proper format must be used to determine the appropriate logic to be applied. For example, if the text string xe2x80x9ccomputer and (screen or display),xe2x80x9d is used in a search of a database, the search will yield all objects having xe2x80x9ccomputerxe2x80x9d and either xe2x80x9cscreenxe2x80x9d or xe2x80x9cdisplayxe2x80x9d located in the database. If, however, the text string is entered as, xe2x80x9c(computer and screen) or display,xe2x80x9d the search will result in objects having both xe2x80x9ccomputerxe2x80x9d and xe2x80x9cscreenxe2x80x9d or objects containing xe2x80x9cdisplay.xe2x80x9d Thus, the proper format must be used to obtain desired results.
Some systems also are designed for use with a only particular database. The system is programmed for use with a particular database and the searchable fields within the database are hard-coded into the system. These systems may not be used with other databases.
Additionally, in some systems, a predetermined number (e.g., two or more) of input blocks are fixed in location in a graphical user interface permitting a user to input search terms. A pull-down menu displaying a plurality of operators may be provided. One drawback with this type of system is the limited number of search terms that may be used.
These and other drawbacks exist in prior search and retrieval systems.
An object of the invention is to overcome these and other drawbacks in existing systems.
Another object of the invention is to provide a system and method that assist users with creating Boolean search queries.
Another object of the invention is to provide a system and method that display the searchable fields of a database as selectable tiles within a view.
Another object of the invention is to provide a system and method that permit users to perform a Boolean search based on the relative position of search terms within a search display.
Another object of the invention is to provide a system and method that permit users to edit the search by altering the relative position of search terms within a search display.
Another object of the invention is to provide a system and method that permits users to save and retrieve search definitions.
According to one embodiment of the invention, a system and method are provided that present users with a graphical user interface (GUI) for creating a Boolean search query for searching data or objects stored within a database. The GUI comprises a search display which may comprise one or more blocks, each block comprising one or more sub-blocks, and each sub-block comprising one or more input boxes. Each sub-block may comprise selectable search criteria. Logical operators may be located between the blocks and sub-blocks. The GUI may also comprise selectable tiles that identify searchable fields within a database. The selectable tiles may be displayed as field specific sub-blocks within the display.
The GUI permits a system user to create a Boolean search query by entering search terms in one or more input boxes of a sub-block within a block and adding blocks and sub-blocks. The relative position of search terms within a block, the blocks themselves, and the logical operator associated with the blocks and sub-blocks identifies the logical operation to be performed using the search terms.
According to another embodiment, the system identifies searchable fields within a database and presents these fields as selectable tiles within the GUI. The system user may select one or more tiles and position these tiles in one or more sub-blocks within one or more blocks. The sub-blocks and blocks may be auto-expandable to display additional sub-blocks or blocks when another is added or reduce the size or number of blocks when a sub-block is removed. The relative position of the blocks and sub-blocks and the logical operator located therebetween determines the Boolean logic to be applied to the search. The GUI may display the Boolean logic operators to be applied as selectable options. The system user is permitted to view a search query in an intuitive, graphical format to determine the results that will be produced.
The system user may edit a search query by rearranging sub-blocks and blocks within the view, adding or deleting search terms, selecting another logical operator, etc. Performing any of these editing functions alters the search to be performed and yields results that conform to the query edited. Initial and edited search queries may be saved for later retrieval.